AddressAssist

Program User Guide

for AddressAssist Release 2.0 (Version 40.15), second Edition 11 June 1995

by Alex H. Schneider / Quarz Development

If you fail to expect the unexpected, the system will crash!

Hope, I didn’t!

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1994-95 Quarz Development / Alex H. Schneider

This is the second edition of this documentation, and it is consistent with AddressAssist Release 2.0 (Version 40.15, 11 June 1995).

Published by Quarz Development Alex H. Schneider Kruggasse 179 CH-8439 Siglistorf, Switzerland, Europe

1 Introduction

AddressAssist is a new database program for managing addresses. But why AddressAssist??? You really might ask this question! But as always, there was one big reason for writing a new program (among many others): Many programs available in the width of the networks provided many functions, but none of them combined all my desired functions with a nice, intuitive and WB 3.1 compatible graphical user interface. This was the hour, when this program was born! Now - with release 2 - many new features have been added to make AddressAssist one of the best address management programs in the AMIGA world of computing! And more features will follow soon! The program is distributed as Shareware. See [Copyright and Registration], page 23, for details about your rights and the restriction of the freely distributable version.

1.1 Highlights of AddressAssist

What is special with AddressAssist ? To get a short overview over the program’s possibilities, read the following list of highlight features, which are among many others included:

• 14 field address database including 4 user definable text fields (new in release 2: 2nd ’Name’-field and an all new ’Group’-field to distinguish up to 10 address groups).

• Very nice and intuitive user interface based on MUI (which makes it size and font sensible, 3.1 compatible)

• Two types of database/record view: the database List view provides easy overview and access while the record Form view enlightens the record’s details

• More than one data files can be used with AddressAssist: all database configuration - like the FreeX field name or or the Group names - as well as all specific program and printer interface setup are stored in the data files, if desirable with an icon.

• Ability to define selections. Selection may be printed and exported separately. Powerful filters to define : field string match and group match filters are provided for include, exclude or toggle records to or from a selection.

• Powerful printing-interface for output address lists and labels by providing user definable and flexible output format: output text style and format; new for release 2: user definable record field ordering and field length definitions for list printing. Ability to load and save specific printer setup.

• Powerful database sort feature, possibility to use several index as well as sort in up- or downward direction

• Flexible Import/Export filters for ASCII files with user definable file format: new in release 2: user definable record field ordering.

• Import/Export filters for TransfileSF (TM) software (for transfer data with Casio pocket computer)

• Copy address data to Amiga clipboard. For use with word processors, for example.

• Easy navigation through records by a set of ’QuickAccess’-controls (known from Superbase)

• Special function for removing identical records

• Localized under WB2.1 and above. Built-in English language, German and Norwegian catalog translations and empty catalog description file provided

• Works with WB2.04 and above, needs MUI v2.3 or above

1.2 Magic User Interface (MUI)

To provide maximal comfort, the user interface of this piece of software was designed to use MUI extensively. MUI is a separate product which is copyright by Stefan Stuntz. Based on famous BOOPSI (Basic Object Oriented Programming System for Intuition), it provides a great enhancement and possibility of standardisation of the Graphical User Interface (GUI) mainly for the user. More than that, from the point of view of the developers, it makes life much easier to provide a consistent, and so called style guide conform GUI for a software project. Use MUI in your own software projects to make you programs even better!!! See ‘Readme.MUI’ for more information about MUI, its distribution and where to get it from.

2 What is new

This chapter gives a short introduction into the new features of the latest program versions. It doesn’t give any information about bug fixes or other internal stuff. See Section 8.2 [History & Future], page 21, for more information about this.

2.1 Release 2.0 (11.6.1995)

Added more record fields

There are two new record fields in AddressAssist’s database layout. First, there is a second ’Name’-field for use of first names or similar (the influence of public pressure! :). Secondly, an all new ’Group’-field is provided, which allows up to 10 different groups two be distinguished. Groups may be used to create selections by group using the new filter functions.

Enhanced database view

In release 2 there are to types of database views available:

• List view for quick overview of all records currently in the database and their selection state.

• Form view for a detailed information on the current record.

The views are both part of the main window, implemented as MUI’s page groups. You can switch between the views by using the new VIEW MENU strip or by the new view button ('][') on the bottom right of the main window.

Preferences & preferences window enhanced

AddressAssist has now a new file structure for its preferences. There is now an own ’AddressAssist’ directory in the ‘envarc:’ assignment, which contains all program specific preferences and files. These are the general

preferences file ‘AddressAssist.prefs’, the key-file ‘AddressAssist.key’

(register NOW to get this one) and the print preferences files ‘*.ppref’, which are introduced in this release and contain printer interface specific setup. See Chapter 6 [Database print function], page 15, and next sub section for more details about this new feature. Now AddressAssist strictly distinguishes between program and database preferences. While the preferences data’s are the same, database preferences is linked to a database file and will be saved and reloaded automatically when you save or load a database from disk. Program preferences is used when starting an new database by the 'New' command and to save the path of the current database file. Saving the path of a database - with the new menuitem Save paths... in the PROJECT MENU - file will cause AddressAssist to reload this database file automatically the next time you start the application. This might be very useful if you work mainly on only one database project. To change the database preferences, use the Change config... menu item in the Process menu to access the Preferences window. The preferences items are splitted into four page groups:

• Free field names to change the names of the four FreeX fields.

• Group definition to change the names of the 10 groups.

• ASCII import/export: change the record field ordering for import/export of ASCII files as well as the record and record field separator char. Section 4.3 [Import/Export ASCII...], page 10.

• Program to change program specific preferences: decide to save project files with an icon or have a save reminding requester popped up when a record is changed.

In addition, an icon is stored with the project file, if the appropriate switch in the Preferences window is set. You can change the program’s data-icon by changing the icon ‘def_AddressAssist.info’ in the AddressAssist preferences directory in ‘envarc:’.

Enhanced printer interface

There are four new features of the printer interface. First, it is now possible to load and save the printer interface setup; i.e. you can save several of your preferred set-ups for printing labels, address list (yes, that works also now!!!) etc. separately. Second, support for real list printing is added: you can specify the width of each data field column in number of characters. If the contents of a field has more characters than the specified column width, data is simply truncated on output. Providing the ability to change the ordering of the record fields in printing is the third new feature (see below for more information about this). The last new feature is a simple switch, which enables you to choose whether or not to print empty data field lines of a selected data field (Many thanks to A.Becker for his suggestion).

Enhanced sort interface

The sort interface is only slightly enhanced by providing now index for all available record fields.

Added powerful selection filter functions

To create a selection, there are two all new filter functions available now:

• Field string match provides flexible pattern matching of the record field strings for adding, removing or toggling records from or to the selection.

• Group match enables you to add, remove or toggle records by their group flags.

The selection filters are accessible from main window’s Filter button in the List view or the appropriate menu item in the new SELECTION MENU.

Added user definable record field ordering

You can now choose your own record field ordering for printing and ASCII import/export. This allows more flexibility in your print : f.e. you can print first names in front of family names in labels, phone numbers after address information in lists etc. If you like to import from or export to another database program, the record field ordering in the export/import file mostly differs from the one your program can read or write %) - Ask Murphy! AddressAssist solves this problem by flexible field ordering for ASCII import/export. Change ordering in the Preferences window’s ASCII import/export page. Now you can easily import address data from other programs regardless what is their record field order and also number of records.

3 Program overview

3.1 Program controls

The main work field of AddressAssist is the big main window, where you can recognise four different control groups:

• Database View Group provides two types of database views: The Database List view gives a quick overview over the records in the database and the possibility of quick access (by double-click with mouse) to a record. The four buttons below the listview provide an easy way to access the selection edit functions. CREATE A SELECTION OF RECORDS The Record Form view - with 13 field string gadgets, a record selection switchbox and a 10 groups field - may be used to get or edit detailed record information. This is the main working place when editing an address database.

• Database Group with the 3 buttons used for quick access to database I/O functions.

• Record Group with the 5 buttons used for quick access to record edit functions.

• Record access-control Group with the 6 buttons used for quick access to a specific record in the current database.

There is a menu strip attached to the main window, which provides access to all available functions of the program:

• Project Menu holds project (database) related functions like file I/O and printing.

• View Menu provides an access to view related functions such as selection the desired view.

• Record Menu holds all address (record) related functions.

• Selection Menu holds all database selection related functions.

• Process Menu holds special functions like database import/export, sorting and the user preferences editor.

The are many ways to switch between the two views: From Database List view, you can directly access a specific record by double clicking on it in the list view gadget, or use the 'Edit' button or the appropriate menu item in

the RECORD MENU.

Using the buttons from the Record group will change the view automatically to Record Form view. The '][' button provides easy change of the view.

3.2 Database format

The AddressAssist’s database provides 14 record fields, which should be enough for the most address management tasks, at home and in business. In the context of this database and the manual, an ’address’ is referenced as record.

‘Salutation’

length: 255 chars; useful for printing address labels

‘Name’

‘Name2’ length: 255 chars each; first and last name or company name

‘Phone1’

‘Phone2’ length: 255 chars each; useful for phone and fax numbers

‘Street1’

‘Street2’ length: 255 chars each; street and number or additional infor-

mation

‘Place’ length: 255 chars each; post code, city and state information

‘Free1’
‘Free2’
‘Free3’

‘Free4’ length: 255 chars each; user definable fields, see below. ‘Code’ length: 255 chars; useful to distinguish between several classes

of addresses by using an appropriate character code for each of the different classes. Classes of addresses may be, for example, private or business addresses and hotels, restaurants or companies.

‘Group’ 10 Checkbox buttons providing distinction of up to 10 address/people groups.

Using the user definable fields

If all the given fields still do not fit your needs, you can define the four ‘FreeX’ fields to your own desire. Do this by giving them a name of your choice and then use them consequently in your database. The record field names can be changed in the Preferences window which is accessible through the Change preferences... item of the PROCESS MENU.

3.3 Database navigation

AddressAssist provides several controls for navigating through the records of the address database. They are all accessible through the buttons of the Record access-control group on the bottom right of the window, but may also be reached by keyboard shortcuts:

'<<' (Shortcuts: left or down arrow); moves to the previous record. '>>' (Shortcuts: right or up arrow); moves to the next record. '|<' (Shortcuts: shift left or shift down); moves to the first

record of the database.

'>|' (Shortcuts: shift right or shift up); moves to the last record

of the database.

'==' (Shortcuts: =, ramiga = or space); moves to a record by entering

a key string to find it, see Section 5.1 [Find a record], page 12.

'][' Toggle between the two database views. From the listview gadget in the Database List View, you can directly activate (set to current) a record by mouse click. If you double-click on a record in the listview, the view changes to Record Form view.

4 Database file I/O functions

The database file I/O functions are:

• Load/Save...: Load/Save a database in default file format as project files

• Import/Export selection...: Import/Export a selection in default file format.

• Import/Export ASCII...: Import/Export database for various database programs.

• Import/Export Transfile...: Import/Export database for TransfileSF (TM) program.

4.1 Load/Save... project files

AddressAssist stores databases to disk by default in so called project files, which can be read only by AddressAssist. Since release 2 of AddressAssist, all preferences data - such as FreeX field names, group names, current sort index and direction, current ASCII import/export preferences, current printing interface setup etc. - will be stored within the project files. You can access the project file I/O functions through

  • the MENU PROJECT

• the gadgets in the Database group on main window

• as well as though Shortcuts

New clears the current database in memory and you may begin to work on a new database. You will be prompted to save changes to the old database if necessary.

Load... opens the filerequester window which prompts for the filename of the address database to be loaded. Then the database will be read from disk if possible. If there is already a database in memory, it will be entirely cleared. You will be prompted to save changes to it if necessary. (Shortcuts:

o or ramiga o)

Save... writes the current database to disk with its associated filename. If there is no associated filename then you will be prompted to input a filename by the filerequester window. (Shortcut: ramiga s)

Save as... (only in Menu) opens the file requester window which prompts for the filename of the address database to be saved. (Shortcut: ramiga a)

4.2 Import/Export selection

If you like to use only a part of your database in another stand alone database file, you can export a previously defined selection by using the Export... function from the SELECTION MENU. In the same way, you can import other AddressAssist database project files (Import... function from SELECTION MENU). When importing a database file, only the record data will be read from the file; preferences data of the current database in AddressAssist will left untouched.

4.3 Import/Export ASCII files

If you like to transfer data of an AddressAssist database to or from other databases on the Amiga (f.e. Superbase, MaxonTwist) or on other platforms (f.e. MS Access, DBase, Filemaker), you may do this by using ASCII files. In AddressAssist, ASCII files can be read/written by the Import/Export ASCII... functions in MENU PROCESS:

Import ASCII... opens the filerequester window which prompts for the filename of the ASCII data file to be imported. All records will added to the current database. Identical records may be deleted later by a separate

function (Remove redundant records... from MENU PROCESS), if desirable

(Section 5.4 [Remove redundant records], page 14).

Export ASCII... first opens a dialogbox where you can specify whether to export all records or only previously selected records (Section 5.3 [Create a selection of records], page 12) from the current database. Then you will be prompted to input the filename for the ASCII export data file.

The format of the ASCII data files is as follows: The end of each record is marked by a special char, the so called Record separation char. The fields within a record are separated by another specific char, the Datafield separation char. The default chars are ’LF’ (ASCII 10) for record separation and ’,’ (ASCII 44) for field separation. You can change the separation chars

in the ASCII import/export page of the Preferences window, accessible

through the Change preferences... item of MENU PROCESS. Since release 2 of AddressAssist, it is possible to define the record field ordering for ASCII import and export.

If the record entries in your imported ASCII file contain less record fields than AddressAssist provides, the missing fields will left blank. On the other hand, if the imported ASCII datafile contains more record fields per record, the surplus fields will be ignored.

4.4 Import/Export Transfile SF

If you use a Casio SF-7000, SF-7500, SF-8000, SF-9000 or SF-9500 pocket computer for your address management and also have the software package ’Transfile Amiga SF 7000’ from Yellow Computing providing the special cable for connection of the Casio to the Amiga’s serial port and the transfer program ’TFSF’, you can read or write its telephone data files (*.tele) directly with AddressAssist using the Import/Export Transfile... functions accessible from MENU PROCESS.

Import Transfile... opens the filerequester window which prompts for the filename of the Transfile telephone data file (*.tele) to be imported. All records will be added to the current database. If necessary, all identical records can be deleted by the separate function Remove redundant records... from MENU PROCESS afterwards (Section 5.4 [Remove redundant records], page 14).

Export Transfile... first opens a dialogbox where you can specify whether to export all records or only previously selected records (Section 5.3 [Create a selection of records], page 12) from the current database. Then you will be prompted to input the filename for the Transfile telephone data file.

As the Casio’s database format differs little from the one used in AddressAssist, there were some additional definitions necessary: In the Casio SF/Transfile (TFSF) database, all datafields may have more than one line entry, each line separated by a linefeed character (ASCII 10). Comparing this to the AddressAssist database, the Phone field of TFSF may have a maximum of 2 line entries (for ‘Phone1’ and ‘Phone2’ field in AddressAssist) and the Address field max. 3 line entries (the first two for ‘Street1’ and ‘Street2’ fields and the last for the ‘PC/City/State’ field). The 6 FreeX fields in TFSF are used as follows: The first four fields become the AddressAssist’s ‘Free1-4’ fields. The fifth field is the ‘Salutation’ and the sixth field becomes the ‘Code’ field in the Amiga address manager.

5 Database edit functions

The Database edit functions are:

• Find a record: Use a key string to find a specific record.

• Sort the database: Sort database with several index and directions.

• Create a selection of records: Making selections of records for printing or exporting.

• Remove redundant records: Removing identical records from current database.

5.1 Find a record by key string

You can find a record from the current database by a key string. The program compares ‘all’ fields of the records with the key string and returns the first record, that matches the key string. You can access this function from MENU RECORD or from the '==' button in the controls group on the main window.

Set key... opens a string requester prompting you to input the key string. After accepting by clicking OK, the database will examined for the given key and the first matching record is made the current one. The first record which will be searched is the current one. (Shortcuts: = or ramiga =)

5.2 Sort the database

The current database may be sorted by different index and in both ascending and descending direction. The default sort mode is ascending by index Name. You can change the sort mode through the PROCESS MENU.

Sort database... opens the sort mode dialogbox, where you can choose the sort direction and select the appropriate index. By pushing the 'OK' button, the database will be resorted in the desired way. (Shortcut: ramiga

r)

The current sort mode is displayed in the title bar of the main window.

5.3 Create a selection of records

A special feature of AddressAssist is the capability to create a selection of records, which then may be treated (print, export, assign groups) separate to all other records of the database. Whether a record is selected can be seen from the star '*' preceding each record in the listview gadget of the Database List view or by the checked checkmark gadget on the top right

of the Record Form view.

All selection related functions are collected in the SELECTION MENU. The selection edit functions are also accessible by the 4-button bar below the listview gadget in the DATABASE LIST VIEW.

Add all/All selects all records of the database. (Shortcuts: a or ramiga a)

Remove all/None deselects all records of the database. (Shortcuts: n or

ramiga n)

Toggle current/Toggle changes the selection state of the current record. (Shortcuts: t or ramiga t)

Filter.../Filter opens the Filter dialogbox. [Selection Filter dialog], page 13. (Shortcuts: ? or ramiga ?)

Import/Export... provides access to the selection import/export functions.See Section 4.2 [Import/Export selection...], page 10.

Print... opens Print Setup dialogbox, with the Selection cycle gadget (Page

setup) set to previously selected.

Selection Filter dialog

The Selection Filter dialog window consists of two main controls. At the top of the window, there is the Action cycle gadget, which lets you choose, whether to include, exclude or toggle matching records to or from the selection. Below is the Match type page group, which provides access to the controls of the two match types available:

• Field string match: String match of the record fields.

• Group match: String match of the record fields.

Field string match

The Field string match controls consist of a number checkboxes - one for each record field - and the actual Match string gadget for input of the string to match one or several record string fields. Use the checkboxes to indicate whether or not the match operation should be applied to a record field or not.

A match would mean that the entire string TEXT is used up in matching the PATTERN and conversely the matched TEXT uses up the entire PATTERN. The match function supports the following formats in the match string:

• '*' matches any sequence of characters (zero or more)

• '?' matches any character

• '\' suppresses syntactic significance of a special character

• [SET] matches any character in the specified set,

• [!SET] or [^SET] matches any character not in the specified set.

A set is composed of characters or ranges; a range looks like ’character hyphen character’ (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. To suppress the special syntactic significance of any of '[]*?!^-\', and match the character exactly, precede it with a '\'.

Group match

Use the Group checkboxes of the Group match controls to indicate whether a record should match a group or not.

5.4 Remove redundant records

A sometimes really useful feature is the possibility to remove identical records from the current database. For example, if you use several database programs on different platforms (at home and at work) or the Casio SF pocket computer for address management: if you then like to put together all records from two ore more databases, you would have to remove all the identical records manually from the joined database. In AddressAssist this can be done with the Remove redundant records... function, which is accessible

from MENU RECORD.

Remove redundant records... examines the database for identical records and prompts whether or not to delete found identical records. When you specify to delete All, you will not be prompted anymore. There will be a message at the end of the operation confirming, that there are no more redundant records in the database memory.

6 Database print function

AddressAssist provides a really powerful print interface which enables you to print your addresses with many (user definable) print formats for address lists or labels. You may specify all relevant parameters for text printing including, for example, how many records should be printed on one sheet of paper (very useful for label printing) or whether or not to print the record field names. For each datafield, you furthermore may specify separately whether or not it should be printed at all, which style should be used for printing and how many linefeeds should be printed after each field. All these parameters can be changed in the Print Setup dialogbox, which is accessible through the Print... item of MENU PROJECT. The dialogbox consists of three pages, which are described separately:

• Page setup: # linefeed before/after record. # records per page.

• Record field options: Select datafield, style and format.

• Record field order: Change record field print order.

• Printer setup: Output device: printer or file; paper length and margins.

If you choose 'OK', the program will print with the specified parameters. By selecting 'Save', you are able to store recently changes to the print parameters without printing. Leave the dialogbox with 'Cancel'.

6.1 Page setup

In the Page setup page, you are able to change the page format parameters to your desire and select, whether to print all records or only previously selected records.

Selection toggles between printing all, previously selected or only current records. Section 5.3 [Create a selection of records], page 12.

Print Mode toggles between printing or not the datafield names. This is useful while printing labels, where you don’t like field names as against of printing an address list.

LF before address and LF after address indicate the number of linefeeds to print in front of / after the records.

With Records per page it is very easy to take care of not to split addresses on two pages or to print the desired number of addresses on a predefined label sheet. Use this together with Page Length from the Print setup page.

Set Records per page to a zero or a value smaller than zero to prevent AddressAssist from checking the number of addresses printed on one sheet of paper.

Field print (new in release 2) lets you select whether to print all selected fields of a record - regardless if there is any data or not - or print only fields with data. This is useful in label printing.

6.2 Record field options

For each record field, there are 4 separate controls available, which make even the craziest formats for printing a record possible:

Use the Checkbox to indicate whether or not to print this field at all.

The Linefeed Cycle changes the number of linefeed to be printed after each record field. You can select from no LF up to 3 LF.

The Style Cycle changes the print style for the record field. You can choose

between Normal, Bold, Italic or Bold-Italic.

Use the Columns width text field to enter the width of each data field columns for real list address list printing. Enter a value of zero or smaller than one to add only a single <space> at the end of the field data (only, when no LF are selected, of course!).

6.3 Record field order

In the listview of this page, all record fields are listed in their current print order. To change the ordering, use the 'Up' and 'Down' buttons to change the place of the currently active field in the listview.

6.4 Printer setup

In the Printer setup page, you may select the output device: output to printer or output into an ASCII text file. When using the printer for output, you furthermore may change current printer page length and paper margins.

The Printer text field shows the currently selected preferences printer driver. Change the printer driver by using the Printer preferences program from your workbench distribution.

Page Length indicates the number of lines, which can be printed on one sheet of paper.

Top Margin is the number of empty lines on the top of the paper.

The cycle gadget Line Spacing toggles between six or eight lines per

inch.

Left Margin indicates the left margin on the paper in number of characters.

Right Margin indicates the right margin on the paper in characters, counted from the left side.

Formfeed print provides the possibility to choose, whether or not to send a Formfeed (FF) to the printer after each printed page. Use this switch if you have problems like always printing an empty page after f.e. label or list print.

Output to toggles current print output device: Printer (PRT:) or text File.

7 Record support functions

The record support functions include all available functions for working on and with individual records:

• New record: Create a new record.

• Save record: Save current record.

• Edit record: Start to edit the current record.

• Duplicate record: Duplicate the current record.

• Delete record: Remove the current record from database.

• Copy record: Copy current record to clipboard.

• Set/remove group assignments: Assignment of group data.

7.1 New record function

The new record function is accessible through the MENU RECORD or through the 'New' button in the Record group of the main window.

New cleans the display of the current record, after prompting you to save changes to the cleaned record if appropriate, and then activates the first string gadget for input of a new record. (Shortcuts: n or ramiga n)

7.2 Save record function

The save record function is accessible through the MENU RECORD or through the 'Save' button in the record group of the main window (Shortcut s). Additionally you will be prompted automatically for the save function, either when leaving the last datafield string gadget (‘Code’) by a return or by selecting a function which would cause the loss of recently changed data.

Save saves recent changes to the current record or adds a the current as a new record to the database. (Shortcut: s)

7.3 Edit record function

The edit record function is accessible through the MENU RECORD.

Edit activates the first datafield of the current record (‘Salutation’), which is the same action as when clicking with the mouse on this gadget or another of current record edit group’s string gadgets. This is useful, if the program is used only by keyboard. (Shortcut: e or ramiga e)

7.4 Duplicate record function

The duplicate record function is accessible through the MENU RECORD or through the 'Duplicate' button in the record group of the main window.

Duplicate adds a new record to the database using the data of the current record. You will be prompted by a requester to confirm this action. (Short-

cut: d or ramiga d)

7.5 Delete record function

The delete record function is accessible through the MENU RECORD or through the 'Delete' button in the record group of the main window.

Delete removes the current record from memory. You will be prompted by a requester to confirm this unrecoverable action. (Shortcut: l or ramiga l)

7.6 Copy record function

The copy record function is accessible only through the MENU RECORD.

Copy copies the text data of the current record to the Amiga’s clipboard, where it can be read and used from other application. Use this to copy the current address of AddressAssist into to a word processor or a text editor. (Shortcut: ramiga c)

7.7 Set/remove group assignments

There are two methods to change the group assignment of the records. Use the 10 group checkboxes in the Record form view, if you like to edit only the current record. If you like to change similar groups assignments of several records, AddressAssist provides functions to simplify this process: Set/remove group... opens the Group assignment window, with a cycle gadget and a set of group checkboxes. The Apply to... cycle gadget lets

you change the set of records (all or only selected records, current

record), which you would like to assign or remove the assignment from specific groups. Use the group checkbox gadgets to indicate which groups have to be assigned to.

8 Program history & future developments

8.1 Program history

• Release 2 (11.6.95), version 40.15:

- German documentation added and English documentation enhanced.

- Norwegian catalog translation added (by Eirik Bogsnes)

- Many minor bugs fixed and internal optimisations.

• Release 2 beta 4 (30.5.95), version 40.14: - Record form view: Field data is now saved without pressing ENTER each time you change a field string.

- Record form view: View adjusted to be height flexible

- Preferences window: Auto move to next text field added.

- Print Preferences: Changed pattern of print prefs files to #?.ppref instead of *.ppref

- Key search: now searches a string in all record fields.

- General: Check Name AND Name2 field for record addition. Now only one of the Name fields, Name OR Name2, must contain data to add a record to the database.

- General: Localized Continue and MUI copyright string in AboutWindow as well as the Title/Status string.

- General: Cleanup Config behaviour, separated program/database prefs data

- Many minor bugs fixed and internal optimisations.

• Release 2 beta 3 (23.5.95), version 40.12: - Preferences dialog: Added Save button to save changed preferences directly

- Preferences: Added switch to turn off Record Save dialog.

- Printer Interface: Added switch to suppress FormFeeds (FF), ignored when printing to file.

- Documentation: updated

- Changed preferences file format for future extensions!!

- General: Added function to delete selected records.

- General: Added Phone1 and Phone2 index for sorting (missing Name2 was a bug!).

- General: ’Turbo’ version no longer needs FPU. Why should it????

- Many bugs fixed

• Release 2 beta 2 (15.5.95), version 40.11: - Bug fixed: Selection toggle button/menu no work properly

- Bug fixed: List/label print field length bug fixed

- Documentation: updated to release 2

• Release 2 beta 1 (9.5.95), version 40.10: - General: Added 2 new database-field: Firstname and Group field for 10 different groups

- Views: Added view concept by providing 2 different views switchable in one window: database list view and record form view

- Printer Interface: Added user definable record field ordering

- Printer Interface: Added database field length for line list printing - Printer Interface: Load/Save individual print setup

- Printer Interface: Added switch to print only used fields of an address (thanks to A. Becker for its idea)

- Selections: Added powerful selection filters: field string match and group match

- Some bug fixes

- Sorting: Added more all sort index, except for phone fields

- General: New preferences file structure, save preferences in address project files. Added support for project icon and WB-Start with project file.

- Some bug fixes

• Release 1.0 (26.10.94), version 38.15:

- First public release.

8.2 Future developments

This is a list of future enhancements for AddressAssist. Remember, the future of this program also depends on you, the user: register immediately and make suggestions, bug reports.

• Enhance printer interface:

- Adding header and footer line feature for list printing

- Adding templates for printing labels and list, for more features in printing: Field titles and separators in lists, support for multi-column label sheets.

• Enhance Import/Export of Transfile/Casio SF data:

- Add direct read/write filters for Casio SF from serial device. (Does anybody know how to write data to Casio SF pocket computers, reading is no problem...)

• Enhance views:

- Add ’View by selection’ and ’View by groups’ functions

• Add record template function

• Add ’remark’ record fields: unlimited field length using separate windows with multiline textfield gadget (How many would be useful???)

• Add application specific functions to the AREXX Port • Add more flexible output format, user definable, f.e. "printf"-format

using specific markers

• Ask for groups information when importing from ASCII

• Add User definable format of listview

• Add datatype to display AA data with tools like Multiview.

• Add import module for DFA and probably other AddressManagers on the Amiga (for an easy cross update to AddressAssist :) ).

9 Copyright and Registration

AddressAssist is copyrighted 1994-95 by Quarz Development / Alex H. Schneider. All rights reserved. The program is distributed as Shareware. The freely distributable archive contains the unregistered version of the program. It is limited to work with only 15 records. The freely distributable archive may be freely redistributed, as long as no charges other than reasonable copying and handling fees may be collected. The program may be distributed only as originally released, in the complete archived form. No changes of any kind may be made to the AddressAssist binary, documents or archive, and I will not answer for any problems that may result from a modified binary. The suggested basic registration fee is SFr 30 (Swiss Francs), DM 30 or US$ 25 (no other currencies accepted), which gets you an entry in my database of users and a personal key file. This key file disables the restrictions of 15 records and will work with all updates of the program that will be available on the networks in the future. This key file is personal and definitely not freely distributable. You will receive the key-file immediately after I got the registration fee by email or by mail. If you also like me to sent to you a printed manual together with the newest version of the program on disk, an additional postage is necessary. See ‘Orderform.txt’ to register or for more information about registering. Register now!!!! Thank you for supporting Shareware.

Trademarks

Amiga, Amiga Workbench and Amiga Kickstart are registered trademarks of Commodore-Amiga Inc. Installer and Installer project icon are \begin{matrix}c \\ ◯ \end{matrix} Copyright 1991-93 Commodore-Amiga, Inc. All Rights Reserved. MUI is \begin{matrix}c \\ ◯ \end{matrix} Copyright 1993-94 Stefan Stuntz (see ‘Readme.MUI’) for details. Transfile Amiga SF 7000 is a registered trademark of Yellow Computing. All other named trademarks reference to their appropriate manufactor or seller.

10 Disclaimer

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFEC-TIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSE-QUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

11 Acknowledgements

Despite all the efforts of me (the author), AddressAssist would never be what it is now without the help of several people and institutions, who should be thanked very much for their contribution at this place,

• My wife and my little daughter Ramona for their patience.

• A very special thanks goes to Arto Becker, Eirik Bogsnes, Kevin Kirk and Alexandre Sforza (in alphabetical order) for their great, critical beta testing and the many suggestions, flames and blames:) !

• Eirik Bogsnes for his Norwegian translation of the catalog file.

• The SAS Institute for their excellent C/C++ compiler. Too bad they left us!!

• Stefan Stuntz for his great Magic User Interface (MUI)

• Escom for buying the Amiga and last but not least Commodore for ...!

Chapter 12: Contacting the author 26

12 Contacting the author

For questions, registration, suggestions or bug reports please contact me by mail (NEW!!!!!): Alex H. Schneider Kruggasse 179 CH-5462 Siglistorf Switzerland / Europe or by email, internet (no registration): schneidr@igt.baum.ethz.ch schneida@hoggar-ether.ethz.ch or by phone (no registration): ++41 56 53 18 13 (at home, NEW!!!!!) ++41 1 633 30 40 (at work)

Index 27

Index

C

Changing of the FreeX fields. . . . . . . . . . . . 7 Contacting the author. . . . . . . . . . . . . . . . . 26 Copy record function . . . . . . . . . . . . . . . . . . 19 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Create a selection of records . . . . . . . . . . . 12 Current record edit group . . . . . . . . . . . . . . 6

D

Database edit functions . . . . . . . . . . . . . . . 12 Database file I/O functions . . . . . . . . . . . . . 9 Database format . . . . . . . . . . . . . . . . . . . . . . . 7 Database group . . . . . . . . . . . . . . . . . . . . . . . . 6 Database print function . . . . . . . . . . . . . . . 15 Delete record function . . . . . . . . . . . . . . . . . 19 Duplicate record function . . . . . . . . . . . . . 19

E

Edit record function. . . . . . . . . . . . . . . . . . . 18

F

Field string match, selection filter . . . . . 13 Filter, selection . . . . . . . . . . . . . . . . . . . . . . . 13 Find a record by key string. . . . . . . . . . . . 12 Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

G

Group match, selection filter . . . . . . . . . . 14

H

History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

I

Import/Export ASCII files . . . . . . . . . . . . 10 Import/Export selection. . . . . . . . . . . . . . . 10 Import/Export Transfile SF . . . . . . . . . . . 11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

L

Load/Save... project files . . . . . . . . . . . . . . . 9

N

New record function. . . . . . . . . . . . . . . . . . . 18

P

Page setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Printer setup. . . . . . . . . . . . . . . . . . . . . . . . . . 15 Program controls . . . . . . . . . . . . . . . . . . . . . . . 6

R

Record access control group . . . . . . . . . . . . 6 Record field options (printing). . . . . . . . . 15 Record field string match, selection filter

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Record group . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Record group match, selection filter … 14 Record support functions. . . . . . . . . . . . . . 18 Registration. . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Remove redundant records . . . . . . . . . . . . 14

S

Save record function . . . . . . . . . . . . . . . . . . 18 Selection Filter dialog . . . . . . . . . . . . . . . . . 13 Set/remove group assignments. . . . . . . . . 19 Sort the database . . . . . . . . . . . . . . . . . . . . . 12

Table of Contents

1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Highlights of AddressAssist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Magic User Interface (MUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 What is new. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Release 2.0 (11.6.1995) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Added more record fields . . . . . . . . . . . . . . . . . . . . . . . . . 3 Enhanced database view . . . . . . . . . . . . . . . . . . . . . . . . . 3 Preferences & preferences window enhanced . . . . . . 3 Enhanced printer interface . . . . . . . . . . . . . . . . . . . . . . . 4 Enhanced sort interface . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Added powerful selection filter functions . . . . . . . . . . 5 Added user definable record field ordering . . . . . . . . 5

3 Program overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 Program controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Database format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Using the user definable fields . . . . . . . . . . . . . . . . . . . . 7

3.3 Database navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Database file I/O functions . . . . . . . . . . . . . . . . . . . . 9

4.1 Load/Save... project files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2 Import/Export selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 Import/Export ASCII files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.4 Import/Export Transfile SF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Database edit functions . . . . . . . . . . . . . . . . . . . . . . . 12

5.1 Find a record by key string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 Sort the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3 Create a selection of records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Selection Filter dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Field string match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Group match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.4 Remove redundant records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 Database print function. . . . . . . . . . . . . . . . . . . . . . . 15

6.1 Page setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.2 Record field options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.3 Record field order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.4 Printer setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

7 Record support functions . . . . . . . . . . . . . . . . . . . . . 18

7.1 New record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.2 Save record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.3 Edit record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.4 Duplicate record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.5 Delete record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.6 Copy record function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.7 Set/remove group assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

8 Program history & future developments …. 20

8.1 Program history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.2 Future developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

9 Copyright and Registration. . . . . . . . . . . . . . . . . . . 23

Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

10 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 11 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 12 Contacting the author . . . . . . . . . . . . . . . . . . . . . . . 26 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27